package domain;


public class Industrial extends Usuario {
	private String razonSocial;
	private String cuit;
	private String nroIngresosBrutos;
	private String condicionFiscal;
	private TarifaIndustrial tarifa;
		
	public Industrial(String calle, String altura, String piso, String dpto,
			String codigoPostal, String localidad, String provincia,
			String razonSocial, String cuit, String nroIngresosBrutos,
			String condicionFiscal,TarifaIndustrial tarifa) {
		super(calle, altura, piso, dpto, codigoPostal, localidad, provincia);
		this.razonSocial = razonSocial;
		this.cuit = cuit;
		this.nroIngresosBrutos = nroIngresosBrutos;
		this.condicionFiscal = condicionFiscal;
		this.tarifa = tarifa;
	}
	
	public String getRazonSocial() {
		return razonSocial;
	}
	public void setRazonSocial(String razonSocial) {
		this.razonSocial = razonSocial;
	}
	public String getCuit() {
		return cuit;
	}
	public void setCuit(String cuit) {
		this.cuit = cuit;
	}
	public String getNroIngresosBrutos() {
		return nroIngresosBrutos;
	}
	public void setNroIngresosBrutos(String nroIngresosBrutos) {
		this.nroIngresosBrutos = nroIngresosBrutos;
	}
	public String getCondicionFiscal() {
		return condicionFiscal;
	}
	public void setCondicionFiscal(String condicionFiscal) {
		this.condicionFiscal = condicionFiscal;
	}

	/**
	 * @param tarifa the tarifa to set
	 */
	public void setTarifa(TarifaIndustrial tarifa) {
		this.tarifa = tarifa;
	}

	/**
	 * @return the tarifa
	 */
	public TarifaIndustrial getTarifa() {
		return tarifa;
	}

	public Factura generarFactura()
	{
		float consumo=this.ultimaMedicion().getConsumo()-this.ultimaFactura().getConsumo();
		
		float importe=consumo*this.getTarifa().getValorMetroCubico();
		float impuestos=importe*(1+this.getTarifa().getIngresosBrutos())*(1+this.getTarifa().getIva());
		float descuentos=0;
		float total=importe+impuestos;
		if (total<1500)
		{
			descuentos=(float) (total*0.03);
		}
		Factura f=new Factura(this,consumo,impuestos,total,descuentos);
		this.getFacturas().add(f);
		return f;
		
	}
	
	public String toString(){
		return this.getRazonSocial() + "(Categoria Industrial) ";
	}
}
